// SPDX-License-Identifier: GPL-2.0-or-later

#include "ep7211.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Cirrus Logic EP7211 Development Board";
	compatible = "cirrus,edb7211", "cirrus,ep7211", "cirrus,ep7209";

	memory {
		device_type = "memory";
		reg = <0xc0000000 0x02000000>;
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm 0>;
		brightness-levels = <
			0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7
			0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf
		>;
		default-brightness-level = <0x0>;
		power-supply = <&blen>;
	};

	display: display {
		model = "320x240x4";
		bits-per-pixel = <4>;
		ac-prescale = <17>;

		display-timings {
			native-mode = <&timing0>;
			timing0: 320x240 {
				hactive = <320>;
				hback-porch = <0>;
				hfront-porch = <0>;
				hsync-len = <0>;
				vactive = <240>;
				vback-porch = <0>;
				vfront-porch = <0>;
				vsync-len = <0>;
				clock-frequency = <6500000>;
			};
		};
	};

	i2c: i2c {
		compatible = "i2c-gpio";
		gpios = <&portd 4 GPIO_ACTIVE_HIGH>,
			<&portd 5 GPIO_ACTIVE_HIGH>;
		i2c-gpio,delay-us = <2>;
		i2c-gpio,scl-output-only;
		#address-cells = <1>;
		#size-cells = <0>;
	};

	lcddc: lcddc {
		compatible = "regulator-fixed";
		regulator-name = "BACKLIGHT ENABLE";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&portd 1 GPIO_ACTIVE_HIGH>;
	};

	blen: blen {
		compatible = "regulator-fixed";
		regulator-name = "BACKLIGHT ENABLE";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&portd 3 GPIO_ACTIVE_HIGH>;
	};
};

&bus {
	flash: nor@0 {
		compatible = "cfi-flash";
		reg = <0 0x00000000 0x02000000>;
		bank-width = <2>;
		#address-cells = <1>;
		#size-cells = <1>;
	};
};

&fb {
	display = <&display>;
	lcd-supply = <&lcddc>;
	status = "okay";
};

&portd {
	lcden {
		gpio-hog;
		gpios = <2 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "LCD ENABLE";
	};
};
